package com.zueb.mapper;

import com.zueb.pojo.Checkin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CheckinMapper {

    /**
     * 查找打卡记录
     *
     * @param checkinDate
     * @param facultyId
     * @param classesId
     * @param index
     * @param pageSize
     * @return
     */
    List<Checkin> getCheckin(@Param("checkinDate") String checkinDate,
                             @Param("facultyId") int facultyId,
                             @Param("classesId") int classesId,
                             @Param("index") int index,
                             @Param("pageSize") int pageSize);

    /**
     * 管理员查找打卡记录
     *
     * @param checkinDate
     * @param facultyId
     * @param classesId
     * @return
     */
    int getCheckinCount(@Param("checkinDate") String checkinDate,
                        @Param("facultyId") int facultyId,
                        @Param("classesId") int classesId);

    /**
     * 添加打卡
     *
     * @param checkin
     * @return
     */
    int addCheckin(Checkin checkin);

    /**
     * 根据学号查找打卡记录
     *
     * @param checkinDate
     * @param number
     * @param index
     * @param pageSize
     * @return
     */
    List<Checkin> getCheckinByNumber(@Param("checkinDate") String checkinDate,
                                     @Param("number") String number,
                                     @Param("index") int index,
                                     @Param("pageSize") int pageSize);

    /**
     * 用户查找自己记录条目
     *
     * @param checkinDate
     * @param number
     * @return
     */
    int getCheckinByNumberCount(@Param("checkinDate") String checkinDate,
                                @Param("number") String number);
}
